home *** CD-ROM | disk | FTP | other *** search
/ Magnum One / Magnum One (Mid-American Digital) (Disc Manufacturing).iso / d11 / v_ega43.arc / EGA43.ASM next >
Assembly Source File  |  1989-01-28  |  3KB  |  86 lines

  1. TITLE EGA43
  2. PAGE 66,132
  3. ;* * * * * * * * * * * * * *   E G A 4 3  * * * * * * * * * * * * * * *  
  4. ;
  5. ;                            Daniel C.Kline
  6. ;                               (c) 1989
  7. ;
  8. ;
  9. ;
  10. ;
  11. CSEG    segment para public 'CODE'
  12.         org     100h    
  13. ;
  14. ;
  15. EGA43 proc    far
  16.         assume cs:cseg,ds:cseg,es:nothing
  17. ;
  18.         jmp     set_up
  19. ;
  20. ;Data Area
  21. ;
  22.         cpyrt       db   'EGA43 - (c) Set Ega 43 Line Mode 8 bit Single Dot Chars$' 
  23.         cpyrt2      db   0ah,0dh,'                 Copyright 1989 Daniel C. Kline',0ah,0dh,0ah,0dh,0ah,0dh,'$'   
  24. ;
  25. ;Setup stuff
  26.  set_up:
  27.         push    ds                      ;Set return segment address and ...
  28.         sub     ax,ax                   ;put zero on stack ...
  29.         push    ax                      ;so a RET returns us to starting address.   
  30.         push    cs                      ;Move work address into Data Segment ...
  31.         pop     ds                      ;because this is a COM file.
  32.                                         ;
  33. ;Save registers                         ;By saving register contents at program 
  34.         push    ax                      ;entry we insure exit will correctly
  35.         push    bx                      ;return to DOS.
  36.         push    cx
  37.         push    dx
  38.         sti                             ;enable interrupts
  39. ;Set Video mode
  40.         mov     ah,00
  41.         mov     al,03
  42.         int     10h
  43.  
  44. ;Set screen mode
  45.         mov     al,12h                  ;80 x 43 B&W alpha
  46.         mov     ah,11h
  47.         mov     bl,0
  48.         int     10h
  49.         mov     ah,11h                  ;BIOS interrupt 10 - set video mode
  50.         mov     al,21h
  51.         mov     bl,3
  52.         int     10h                     ;call BIOS to do it
  53. ;Restore cursor
  54.         mov     ah,1
  55.         mov     cx,377h
  56.         int     10h
  57. ;Title
  58.         mov     dx,offset cpyrt         ;get address of program title
  59.         call    PRINT                   ;print it on the screen
  60.         mov     dx,offset cpyrt2        ;get address of copyright
  61.         call    PRINT                   ;print it on the screen
  62.                                         ;
  63. ;
  64. exit:
  65.         pop     dx                      ;restore registers so the
  66.         pop     cx                      ;exit to DOS works OK.
  67.         pop     bx
  68.         pop     ax
  69.         int 20h                         ;Program terminate & return to DOS
  70. ;
  71. EGA43   endp
  72. ;
  73. ;
  74. PRINT   proc                            ;This proc sends the data pointed
  75.                                         ;to by register DX to the screen 
  76.                                         ;for display
  77.                                         ;
  78.         mov     ah,9
  79.         int     21h
  80.         ret
  81. PRINT   endp                                    
  82. ;
  83. CSEG    ends
  84.         end     EGA43
  85.  
  86.